<?php defined('BASEPATH') OR exit('No direct script access allowed');

/**
 * Contato class
 * @author Thiago Braga <thiago@sitesg.com.br>
 * @copyright 2013 SG Comunicação e Design
 * @license http://www.php.net/license/3_01.txt PHP License 3.01
 * @access public
 */
class Contato extends MY_Controller {

  /**
   * Carrega a página Contato
   *
   * Nesta página, o usuário poderá contatar
   * a empresa para enviar sugestões ou dúvidas,
   * bem como visualizar a localização da empresa.
   */
  public function index() {
    $this->data->page = 'Contato';
    $this->data->content = 'contato/contato';
    $this->data->css = array('mods/contato');
    $this->data->js = array('mods/contato');
    $this->load->view('base', $this->data);
  }

  /**
   * Envia um e-mail via ajax
   *
   * Valida os campos do formulário e, caso estejam
   * corretos, envia um e-mail com os parâmetros
   * recebidos via ajax para a empresa e um e-mail
   * para o usuário informando o recebimento.
   *
   * @uses E-mail library
   * @throws Exception
   */
  public function ajax_send() {
    try {
      $required = array('nome', 'e-mail', 'mensagem');
      foreach ($required as $field)
        if (empty($_POST[$field]))
          throw new Exception("O campo <b>$field</b> é obrigatório.");

      $this->data->nome = $this->input->post('nome');
      $this->data->email = $this->input->post('e-mail');
      $this->data->assunto = $this->input->post('assunto') || 'E-mail enviado pelo site da MB Consultoria Jurídica.';
      $this->data->mensagem = $this->input->post('mensagem');
      $mailto = (ENVIRONMENT == 'development') ?
        'thiago@sitesg.com.br' :
        'contato@mbconsultoriajuridica.com.br';

      $this->load->library('email');
      $this->email->from($this->data->email, $this->data->nome);
      $this->email->to($mailto);
      $this->email->subject($this->data->assunto);
      $this->email->message($this->load->view('contato/admin_email', $this->data, true));

      if ($this->email->send()) {
        $this->response->type = 'success';
        $this->response->header = 'Agradecemos seu contato';
        $this->response->message = 'Entraremos em contato em breve.<br />Você também pode nos contatar pelo telefone (14) 3262-1105.';
      } else {
        $this->response->type = 'alert';
        $this->response->header = 'Erro no envio do e-mail';
        $this->response->message = $this->email->print_debugger();
      }

      $this->email->from('no-reply@mbconsultoriajuridica.com.br', 'MB Consultoria Jurídica');
      $this->email->to($this->input->post('e-mail'));
      $this->email->subject('Obrigado por entrar em contato conosco.');
      $this->email->message($this->load->view('contato/user_email', $this->data, true));
      $this->email->send();
    } catch (Exception $e) {
      $this->response->type = 'alert';
      $this->response->header = 'Campos inválidos';
      $this->response->message = $e->getMessage();
      $this->response->field = $field;
    }
    echo json_encode($this->response);
  }

}

/* End of file contato.php */
/* Location: ./application/controllers/contato.php */